Skip to content

feat: 근로자 상세 안내이력 조회 API 구현 - #145

Merged
BcKmini merged 3 commits into
mainfrom
feat/144-worker-activities
Aug 12, 2026
Merged

feat: 근로자 상세 안내이력 조회 API 구현#145
BcKmini merged 3 commits into
mainfrom
feat/144-worker-activities

Conversation

@hywznn

@hywznn hywznn commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

왜 필요한가요?

Client #318의 근로자 상세 안내이력 화면은 근로자 한 명의 여러 업무에 흩어진 안내·응답 기록을 조회할 Server API가 없어 정적 EmptyState로 남아 있었습니다.

운영 감사용 /audit-events를 화면에 직접 노출하지 않고, 기존 감사 이벤트 중 근로자 화면에 필요한 항목만 안전한 문구로 변환해 반환합니다.

Closes #144
Refs fowoco/client#318

무엇이 바뀌나요?

  • GET /api/v1/workers/{workerId}/activities 추가
  • 기존 worker → task → worker_link → audit_event 관계를 이용해 DB Migration 없이 조회
  • GUIDANCE_SENT, GUIDANCE_OPENED, WORKER_RESPONSE_SUBMITTED, RESPONSE_REVIEWED만 allowlist로 반환
  • 최신순 cursor pagination과 limit 1~100 지원
  • ADMIN·HR·VIEWER 조회 허용
  • JWT의 companyId를 기준으로 사업장 격리하고 타 사업장 근로자는 404 처리
  • 원본 링크 token, 전화번호, 응답 원문, requestId·traceId 미노출
  • Swagger/OpenAPI 계약 추가

응답 예시

{
  "items": [
    {
      "activity_id": "10000000-0000-0000-0000-000000000001",
      "type": "GUIDANCE_SENT",
      "task_id": "20000000-0000-0000-0000-000000000001",
      "task_title": "여권 사본 제출 요청",
      "summary": "모바일 안내를 전송했습니다.",
      "occurred_at": "2026-08-12T10:30:00Z"
    }
  ],
  "next_cursor": null
}

검증

  • 안내 발송 → 근로자 열람 → 응답 제출 최신순 조회
  • cursor pagination
  • VIEWER 조회
  • 타 사업장 404
  • 빈 안내이력
  • OpenAPI operation 노출
  • 민감값·내부 추적값 미노출
  • ./gradlew test --tests com.fowoco.server.workerlink.WorkerLinkSecurityIntegrationTest
  • ./gradlew clean test

영향 범위

  • Flyway/DB Schema 변경 없음
  • 기존 감사 이벤트 생성 흐름 변경 없음
  • 기존 /audit-events, /tasks/{taskId}/activities 계약 변경 없음

Client 연결 참고

상세 응답 내용은 이 타임라인에서 추정하지 않습니다. WORKER_RESPONSE_SUBMITTED 항목을 선택했을 때 기존 근로자 응답 조회 API로 상세 내용을 확인하는 방식이 안전합니다.

@hywznn
hywznn requested review from chaeliki and krestar August 12, 2026 02:42
@hywznn
hywznn requested a review from BcKmini August 12, 2026 04:12
@hywznn
hywznn marked this pull request as ready for review August 12, 2026 04:12
@BcKmini

BcKmini commented Aug 12, 2026

Copy link
Copy Markdown
Member

고생하셨습니다. 좋아요

@BcKmini
BcKmini merged commit a25ef37 into main Aug 12, 2026
4 checks passed
@BcKmini
BcKmini deleted the feat/144-worker-activities branch August 12, 2026 07:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Audit][P2] 근로자 안내이력 조회 API 구현

2 participants